!(function (t, e) {
	"object" == typeof exports && "undefined" != typeof module
		? (module.exports = e())
		: "function" == typeof define && define.amd
		? define(e)
		: ((t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs =
				e());
})(this, function () {
	"use strict";
	var t = 1e3,
		e = 6e4,
		n = 36e5,
		r = "millisecond",
		i = "second",
		s = "minute",
		u = "hour",
		a = "day",
		o = "week",
		f = "month",
		h = "quarter",
		c = "year",
		d = "date",
		$ = "Invalid Date",
		l =
			/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
		y =
			/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
		M = {
			name: "en",
			weekdays:
				"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
			months:
				"January_February_March_April_May_June_July_August_September_October_November_December".split(
					"_"
				)
		},
		m = function (t, e, n) {
			var r = String(t);
			return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t;
		},
		g = {
			s: m,
			z: function (t) {
				var e = -t.utcOffset(),
					n = Math.abs(e),
					r = Math.floor(n / 60),
					i = n % 60;
				return (e <= 0 ? "+" : "-") + m(r, 2, "0") + ":" + m(i, 2, "0");
			},
			m: function t(e, n) {
				if (e.date() < n.date()) return -t(n, e);
				var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),
					i = e.clone().add(r, f),
					s = n - i < 0,
					u = e.clone().add(r + (s ? -1 : 1), f);
				return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);
			},
			a: function (t) {
				return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);
			},
			p: function (t) {
				return (
					{ M: f, y: c, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: h }[t] ||
					String(t || "")
						.toLowerCase()
						.replace(/s$/, "")
				);
			},
			u: function (t) {
				return void 0 === t;
			}
		},
		D = "en",
		v = {};
	v[D] = M;
	var p = function (t) {
			return t instanceof _;
		},
		S = function (t, e, n) {
			var r;
			if (!t) return D;
			if ("string" == typeof t) v[t] && (r = t), e && ((v[t] = e), (r = t));
			else {
				var i = t.name;
				(v[i] = t), (r = i);
			}
			return !n && r && (D = r), r || (!n && D);
		},
		w = function (t, e) {
			if (p(t)) return t.clone();
			var n = "object" == typeof e ? e : {};
			return (n.date = t), (n.args = arguments), new _(n);
		},
		O = g;
	(O.l = S),
		(O.i = p),
		(O.w = function (t, e) {
			return w(t, { locale: e.$L, utc: e.$u, x: e.$x, $offset: e.$offset });
		});
	var _ = (function () {
			function M(t) {
				(this.$L = S(t.locale, null, !0)), this.parse(t);
			}
			var m = M.prototype;
			return (
				(m.parse = function (t) {
					(this.$d = (function (t) {
						var e = t.date,
							n = t.utc;
						if (null === e) return new Date(NaN);
						if (O.u(e)) return new Date();
						if (e instanceof Date) return new Date(e);
						if ("string" == typeof e && !/Z$/i.test(e)) {
							var r = e.match(l);
							if (r) {
								var i = r[2] - 1 || 0,
									s = (r[7] || "0").substring(0, 3);
								return n
									? new Date(
											Date.UTC(
												r[1],
												i,
												r[3] || 1,
												r[4] || 0,
												r[5] || 0,
												r[6] || 0,
												s
											)
									  )
									: new Date(
											r[1],
											i,
											r[3] || 1,
											r[4] || 0,
											r[5] || 0,
											r[6] || 0,
											s
									  );
							}
						}
						return new Date(e);
					})(t)),
						(this.$x = t.x || {}),
						this.init();
				}),
				(m.init = function () {
					var t = this.$d;
					(this.$y = t.getFullYear()),
						(this.$M = t.getMonth()),
						(this.$D = t.getDate()),
						(this.$W = t.getDay()),
						(this.$H = t.getHours()),
						(this.$m = t.getMinutes()),
						(this.$s = t.getSeconds()),
						(this.$ms = t.getMilliseconds());
				}),
				(m.$utils = function () {
					return O;
				}),
				(m.isValid = function () {
					return !(this.$d.toString() === $);
				}),
				(m.isSame = function (t, e) {
					var n = w(t);
					return this.startOf(e) <= n && n <= this.endOf(e);
				}),
				(m.isAfter = function (t, e) {
					return w(t) < this.startOf(e);
				}),
				(m.isBefore = function (t, e) {
					return this.endOf(e) < w(t);
				}),
				(m.$g = function (t, e, n) {
					return O.u(t) ? this[e] : this.set(n, t);
				}),
				(m.unix = function () {
					return Math.floor(this.valueOf() / 1e3);
				}),
				(m.valueOf = function () {
					return this.$d.getTime();
				}),
				(m.startOf = function (t, e) {
					var n = this,
						r = !!O.u(e) || e,
						h = O.p(t),
						$ = function (t, e) {
							var i = O.w(
								n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t),
								n
							);
							return r ? i : i.endOf(a);
						},
						l = function (t, e) {
							return O.w(
								n
									.toDate()
									[t].apply(
										n.toDate("s"),
										(r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)
									),
								n
							);
						},
						y = this.$W,
						M = this.$M,
						m = this.$D,
						g = "set" + (this.$u ? "UTC" : "");
					switch (h) {
						case c:
							return r ? $(1, 0) : $(31, 11);
						case f:
							return r ? $(1, M) : $(0, M + 1);
						case o:
							var D = this.$locale().weekStart || 0,
								v = (y < D ? y + 7 : y) - D;
							return $(r ? m - v : m + (6 - v), M);
						case a:
						case d:
							return l(g + "Hours", 0);
						case u:
							return l(g + "Minutes", 1);
						case s:
							return l(g + "Seconds", 2);
						case i:
							return l(g + "Milliseconds", 3);
						default:
							return this.clone();
					}
				}),
				(m.endOf = function (t) {
					return this.startOf(t, !1);
				}),
				(m.$set = function (t, e) {
					var n,
						o = O.p(t),
						h = "set" + (this.$u ? "UTC" : ""),
						$ = ((n = {}),
						(n[a] = h + "Date"),
						(n[d] = h + "Date"),
						(n[f] = h + "Month"),
						(n[c] = h + "FullYear"),
						(n[u] = h + "Hours"),
						(n[s] = h + "Minutes"),
						(n[i] = h + "Seconds"),
						(n[r] = h + "Milliseconds"),
						n)[o],
						l = o === a ? this.$D + (e - this.$W) : e;
					if (o === f || o === c) {
						var y = this.clone().set(d, 1);
						y.$d[$](l),
							y.init(),
							(this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d);
					} else $ && this.$d[$](l);
					return this.init(), this;
				}),
				(m.set = function (t, e) {
					return this.clone().$set(t, e);
				}),
				(m.get = function (t) {
					return this[O.p(t)]();
				}),
				(m.add = function (r, h) {
					var d,
						$ = this;
					r = Number(r);
					var l = O.p(h),
						y = function (t) {
							var e = w($);
							return O.w(e.date(e.date() + Math.round(t * r)), $);
						};
					if (l === f) return this.set(f, this.$M + r);
					if (l === c) return this.set(c, this.$y + r);
					if (l === a) return y(1);
					if (l === o) return y(7);
					var M = ((d = {}), (d[s] = e), (d[u] = n), (d[i] = t), d)[l] || 1,
						m = this.$d.getTime() + r * M;
					return O.w(m, this);
				}),
				(m.subtract = function (t, e) {
					return this.add(-1 * t, e);
				}),
				(m.format = function (t) {
					var e = this,
						n = this.$locale();
					if (!this.isValid()) return n.invalidDate || $;
					var r = t || "YYYY-MM-DDTHH:mm:ssZ",
						i = O.z(this),
						s = this.$H,
						u = this.$m,
						a = this.$M,
						o = n.weekdays,
						f = n.months,
						h = function (t, n, i, s) {
							return (t && (t[n] || t(e, r))) || i[n].substr(0, s);
						},
						c = function (t) {
							return O.s(s % 12 || 12, t, "0");
						},
						d =
							n.meridiem ||
							function (t, e, n) {
								var r = t < 12 ? "AM" : "PM";
								return n ? r.toLowerCase() : r;
							},
						l = {
							YY: String(this.$y).slice(-2),
							YYYY: this.$y,
							M: a + 1,
							MM: O.s(a + 1, 2, "0"),
							MMM: h(n.monthsShort, a, f, 3),
							MMMM: h(f, a),
							D: this.$D,
							DD: O.s(this.$D, 2, "0"),
							d: String(this.$W),
							dd: h(n.weekdaysMin, this.$W, o, 2),
							ddd: h(n.weekdaysShort, this.$W, o, 3),
							dddd: o[this.$W],
							H: String(s),
							HH: O.s(s, 2, "0"),
							h: c(1),
							hh: c(2),
							a: d(s, u, !0),
							A: d(s, u, !1),
							m: String(u),
							mm: O.s(u, 2, "0"),
							s: String(this.$s),
							ss: O.s(this.$s, 2, "0"),
							SSS: O.s(this.$ms, 3, "0"),
							Z: i
						};
					return r.replace(y, function (t, e) {
						return e || l[t] || i.replace(":", "");
					});
				}),
				(m.utcOffset = function () {
					return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
				}),
				(m.diff = function (r, d, $) {
					var l,
						y = O.p(d),
						M = w(r),
						m = (M.utcOffset() - this.utcOffset()) * e,
						g = this - M,
						D = O.m(this, M);
					return (
						(D =
							((l = {}),
							(l[c] = D / 12),
							(l[f] = D),
							(l[h] = D / 3),
							(l[o] = (g - m) / 6048e5),
							(l[a] = (g - m) / 864e5),
							(l[u] = g / n),
							(l[s] = g / e),
							(l[i] = g / t),
							l)[y] || g),
						$ ? D : O.a(D)
					);
				}),
				(m.daysInMonth = function () {
					return this.endOf(f).$D;
				}),
				(m.$locale = function () {
					return v[this.$L];
				}),
				(m.locale = function (t, e) {
					if (!t) return this.$L;
					var n = this.clone(),
						r = S(t, e, !0);
					return r && (n.$L = r), n;
				}),
				(m.clone = function () {
					return O.w(this.$d, this);
				}),
				(m.toDate = function () {
					return new Date(this.valueOf());
				}),
				(m.toJSON = function () {
					return this.isValid() ? this.toISOString() : null;
				}),
				(m.toISOString = function () {
					return this.$d.toISOString();
				}),
				(m.toString = function () {
					return this.$d.toUTCString();
				}),
				M
			);
		})(),
		b = _.prototype;
	return (
		(w.prototype = b),
		[
			["$ms", r],
			["$s", i],
			["$m", s],
			["$H", u],
			["$W", a],
			["$M", f],
			["$y", c],
			["$D", d]
		].forEach(function (t) {
			b[t[1]] = function (e) {
				return this.$g(e, t[0], t[1]);
			};
		}),
		(w.extend = function (t, e) {
			return t.$i || (t(e, _, w), (t.$i = !0)), w;
		}),
		(w.locale = S),
		(w.isDayjs = p),
		(w.unix = function (t) {
			return w(1e3 * t);
		}),
		(w.en = v[D]),
		(w.Ls = v),
		(w.p = {}),
		w
	);
});

window.moment = window.dayjs;
